"Astrocade Screen Layout: 102 x 160 Graph Paper" By Adam Trionfo April 12, 2016 I) Summary ------- This documentation explains how to use Bally Arcade/Astrocade screenshots taken from the Astrocade emulator included with MAME to create screen layouts that can be used to help understand how an Astrocade program functions (such as how the screen is built). II) Required: Files and Graphics Editor ----------------------------------- This documentation is included in an archive with the following files: 1) Astrocade Screen Layout - 102 x 160 Graph Paper (Cropped)(With Layers).tif 2) Astrocade Screen Layout - 102 x 160 Graph Paper (Doc).txt 3) Incredible Wizard (Astrocade Screen Layout)(Graph Paper 102 x 160).gif 4) Incredible Wizard - Level 001 (Enlarged).png 5) Incredible Wizard - Level 001 (Small).png The user is presumed to be able to open and manipulate at least four different graphic files: TIF (with layers), JPG, GIF and PNG. A quality graphics editor, such as Photoshop or GIMP, is required. III) Graph Paper and the Astrocade's Screen Layout --------------------------------------------- The Bally Arcade/Astrocade's maximum screen resolution is 102 x 160 pixels. To help create graphics for the console, Spectre Systems created special graph paper in the early 1980s that simulated the Astrocade's screen layout. It showed all 16,320 memory locations of the Astrocade's screen. You can view the graph paper created by Spectre here: http://www.ballyalley.com/ml/ml_docs/astrocade_programming_sheets.pdf#page=4 Notice the left-side of the graph paper has four-digit hexadecimal numbers placed every ten lines. These digits are the memory addresses of the Astrocade's Screen RAM. The top-left square is memory address $4000. Line 101's first memory address is $4FA0. The last byte of memory in Screen RAM is $4FEF (the bottom-right square). More information about the Astrocade's screen layout is available in the book "Software and Hardware for the Bally Arcade - A Technical Description" (aka "Nutting Manual" and/or "The Handbook of Hardware & Software"). Here is an example of the the Spectre graph paper in use. This graph paper was used to create the title screen for Spectre's cartridge game called "ICBM Attack." http://www.ballyalley.com/documentation/spectre_systems/ICBM_Attack_concept_art /ICBM_Attack_02.jpg As you can see from the above picture, Spectre used their graph paper to draw a screen. This picture was then translated to data for the program and used as the game's title screen. However, we're going to be working in reverse: taking a screenshot (completed graphics) and placing it onto graph paper. IV) Astrocade Graph Paper: 21'st Century Style ------------------------------------------ Using Photoshop CS2, I recreated a worksheet (graph paper) layout for use with the Astrocade screenshots taken in the Astrocade emulation in MAME. Screenshots taken using MAME include all of the Astrocade's overscan area of the screen, but the true resolution of the Astrocade is ONLY what lies within the border of the graph paper. The re-created graph paper in this archive is called: Astrocade Screen Layout (Graph Paper 102 x 160)(Cropped)(With Layers).tif The Astrocade Screen Layout uses five layers, plus a background. The dimensions of this graph paper are: DPI - 720/inch Width - 7040 pixels Height - 4800 pixels Width - 9.778 inches Height - 6.667 inches A screenshot in MAME is saved as a PNG with these dimensions: DPI - 72/inch Width - 352 pixels Height - 240 pixels Width - 4.889 inches Height - 3.333 inches For an example of a MAME screenshot, open and view the picture "Incredible Wizard - Level 001 (Small).png" The general idea to make this screenshot more useful is to take the screenshot from MAME, resize it, and paste it onto the recreated Astrocade layout graph paper. The MAME screenshot will be pasted "below" the grid of the graph paper; therefore, the screenshot will appear "behind" the grid of blue lines that makes the graph paper. (Note that these instructions will give you a general idea of how to use the Astrocade graph paper, but these are not step-by-step directions-- a familiarity with graphic editors is required here.) Here's how to resize an image in Photoshop (hopefully these tips will help people who use other graphics editors, like GIMP). First, open up the example found in the archive called "Incredible Wizard - Level 001 (Small).png." Follow these directions to create a screenshot: 1) Change the image size. 2) Make sure "Constrain Proportions" is clicked. 3) Set "Resample Image" to "Nearest Neighbor." The default is "bicubic--" you DON'T want that, as it will blur your image when it is resized. 4) Change "Resolution to 720." As long as "Constrain Proportions" is clicked, this will automatically change the Height to 2400 pixels and Width to 3520 pixels. 5) Now change Height to 4800 pixels. This will automatically change Width to 7040 pixels. 6) With these changes made, the screenshot is exactly the same size as the "graph paper." 7) Now select the entire screenshot and copy it as a new layer directly under the layer called "Grid" on the "Graph Paper." 8) The screenshot should fill the entire "graph paper" perfectly. Anything outside of the graph paper's blue outline is the Astrocade's screen's overscan area. 9) Your finished picture should look like the included image called "Incredible Wizard (Astrocade Screen Layout)(Graph Paper 102 x 160).gif" Now that we've gone and placed a screenshot on graph paper, let's take advantage of what we can do with it. V) Learning from Resized Screenshots on "Graph Paper" -------------------------------------------------- As you can see in the resized picture, the bottom 11 lines of the screen are not displayed (the color of these lines in "The Incredible Wizard" screenshot has been changed to black-- just like the overscan area). This allows these 440 bytes of Screen RAM (from $4F38 - $4FEF) to be used as scratchpad. In addition to the 440 bytes of RAM that have been set aside for scratchpad by blanking the screen, there are also the 16 bytes of non-screen RAM (from $4FF0- $4FFF), giving to total of 454 bytes free RAM for the "Incredible Wizard" to work with. Other games on the Astrocade, such as "Muncher," use blank areas of the screen for RAM. Perhaps "Wizard" manages to scrape together a few more bytes of RAM using this method. I had planned to use this picture of "The Incredible Wizard" to see if I could figure-out how the game drew the dungeon layouts, but now I doubt that I'll use it for that reason (I've moved onto other projects). Pasting MAME screenshots onto the "Astrocade Screen Layout Graph Paper" will allow you to use MAME screenshots in new ways. You'll soon learn that there is a lot of power in know exactly what the screen RAM layout looks like when a picture is displayed on it. Try using the screenshot/graph paper combination with a Z80 disassembler (such as "DZ80"). This will allow you to figure-out how a program draws and lays out a screen much easier. Until next time, Astrocade fans... Keep Buggin'